机械臂提升运动节拍的方法
修订日期 | 修订版本 | 修订内容 | 修订人 |
---|---|---|---|
2025.08.23 | V0.1 | 分析39版本产生问题的原因及给出对应解决方案 | 刘刚 |
[TOC]
1. 问题描述
目前在一些用户现场遇到了机械臂极限节拍提升需求,算法(0.39版本)在应对此类需求时出现了以下问题:
Case 1: 机械臂报误碰撞(延锋现场)
Case 2: 机械臂严重摆动(蔚来涂胶)
Case 3: 机械臂抖动(先惠现场)
Case 4: 机械臂运动不到位(西安比亚迪)
2. 原因分析
根本原因: 0.39版本算法在运动规划过程中,没有考虑关节加速度约束,导致规划出来的关节加速度超出关节限制值**。**
针对 Case1: 客户反馈增加交融后误碰撞概率更大,原因是++在同样的速度条件下,交融轨迹需要的加速度更大++(主要是路径切线方向变化时需要一定的向心加速度,转弯半径越小,对应的加速度越大)。
解决方案:考虑到机械臂碰撞阈值是在关节极限加速度范围内运动时采样计算得到的,限制关节指令加速度小于关节极限加速度可避免误碰撞(这个策略已得到验证);另外增加交融半径可以使路径看起来更顺滑,降低向心加速度可以降低关节加速度。
针对 Case2: 客户反馈在moveJ的过程中机械臂摆动,伟华项目iS35kg机械臂在接近奇异位置也出现了类似的问题。根本原因是Case1中引入的策略++只处理了超限的关节,没有保证相位同步++(目前无法做到/或者需要较大的算力来迭代搜索)。
解决方案:对由于限制关节加速度引起的轨迹偏移进行限制,当超出限制后,算法报错。(该限制是全局生效,带来一个问题是不同的场景,对该参数的配置不同,现在软件采取一个较大的数值)
针对Case3: 客户反馈机械臂在交融且极限提速时,机械臂会产生抖动。 原因是++加速度限幅策略引起轨迹局部连续性变化,当遇到规划加速度远超限制值时,频繁截断引起轨迹连续性不足++。
解决方案:加速度限幅主要是解决误碰撞问题,在不产生误碰撞的前提下,可以适当提升关节加速度限制值或者降低规划的速度或者加速度(如果是交融处抖动,一般是降低速度)
针对Case 4: 机械臂运动不到位,主要原因是++对轨迹的加速度截断没有区分轨迹++。只要规划的加速度超过了最大加速度,轨迹就会发生变化。 在运动过程中超出,轨迹偏离原路径;在结束点超出,轨迹无法到位。
解决方案:对加速度进行处理时区分轨迹类型。对于交融段,若加速度超限,可以对关节加速度截断来避免误碰撞,但是同时需要满足轨迹偏移限制(如果偏离超出阈值,则报错)。对于非交融轨迹,规划的目标点和用户指定的一致,当规划的关节加速度超出最大加速度一定倍数后返回错误值。 算法报错后,用户需要降低路径的速度或者加速度。
3. 总结
结论:碰撞检测或者加速度限幅或者加速度超限报错都是对机械臂的防护措施。软件算法需要有针对性处理这些异常,来延长机械臂使用寿命。
具体方案:
对于39版本,算法(0.39.110及以后的版本)采用Case4中提到的方案。如果出现错误,需要降低路径的速度或者加速度。如果节拍达不到要求,需要从集成角度来改善工况或者选择性能更高的机械臂(一般是臂展更长的)
对于40版本,如果++出现关节加速度超限的,需要算法来解决++。针对关节加速度在限制值范围内变化时引发误碰撞的问题,算法目前只能做一定的优化来改善轨迹连续性,底层伺服也需要做更精细的插补。(UR机器人目前规划上只做到了加速度有界,相对于OTG中的type II型连续)。